This page last changed on Sep 27, 2006 by bowens.
Geoserver Configuration Design
The Web Based Configuration Design document provided a series of design goals
for updating the GeoServer Configuration System:
- Separate out the Configuration Model from the GeoServer Application
- Build a Struts Web Interface against the Configuration Model
- Allow XML persistence of the GeoServer Application Configuration state
- Maintain the existing configuration file format
To meet these requirements, Layered Architecture was proposed (Figure 1).
1.1 Design Successes
The design for the GeoServer Configuration System has:
- Succeeded in meeting our Requirements.
- Succeeded in separating the GeoServer application, configuration, and
persistence subsystems
- Succeeded in allowing unit testing of Core GeoServer components
- Succeeded in maintaining a clear separation between GeoServer and the
Validation Framework
1.2 Design Extensions
The previous Web Based Configuration Design document outlined the layer
structure of the GeoServer application.
Table 1 lists the GeoServer classes by both package and subsystem (interfaces
are marked in italics):
GeoTools |
Global |
DTO |
Config |
Form |
|
Geoserver Contact |
Geoserver Contact DTO |
GeoserverCongfig |
GeoserverCongfiguration Form |
|
WMS |
WMSDTO |
WMSConfig |
WMSDescriptionForm WMSContent Form |
|
WFS |
WFSDTO |
WFSConfig |
WFSDescriptionForm WFSContent Form |
Repository |
Data |
DataDTO |
DataConfig |
|
|
NamespaceInfo |
NamespaceDTO |
NamespaceConfig |
DataNamespacesForm |
|
DataStoreInfo |
DataStoreInfoDTO |
DataStoreInfoConfig |
DataDataStoresEditorForm DataDataStoresNewForm DataDataStoresSelectForm |
|
FeatureTypeInfo |
FeatureTypeInfoDTO |
FeatureTypeInfoConfig |
DataFeatureTypesEditorForm DataFeatureTypesNewForm DataFeatureTypesSelectForm DataAttributeTypesNewForm DataAttributeTypesSelectForm |
|
Styles |
StyleDTO |
StyleConfig |
DataStylesFormForm |
Table 1 - GeoServer Data Matrix
The GeoTools data module has been extended with Catalog and Metadata
interfaces. The use of GeoTools2 interfaces by classes in the global layer allows
the Validation Processor to be written in an application independent manner.
1.2.1 Validation Framework Extension
The extension of our design for the validation processor to accommodate a web
based user interface was accomplished without incident.
Table 2 lists the Validation classes and interfaces by package (interfaces are
marked in italics):
Validation |
Validation DTO |
Config |
Form |
ValidationProcessor |
|
ValidationConfig |
|
PlugIn |
PlugInDTO |
PlugInConfig |
|
TestSuite |
TestSuiteDTO |
TestSuiteConfig |
ValidationTestSuiteNewForm ValidationTestSuiteSelectForm |
Validation |
TestDTO |
TestConfig |
ValidationTestEditorForm ValidationTestNewForm ValidationTestSelectForm |
Table 2 - Validation Processor Data Matrix
|